Computer networks connect various types of computer systems, connected to various other devices, in a manner that enables the network connected computer systems to communicate with each other. Each computer may have a plurality of network interfaces which connect the computer to different networks. Each network, in turn, may have specific protocols and procedures for communicating over the network.
In order to initiate communication over a computer network, information corresponding to the specific protocols, procedures, and network interface of the network must be provided. For example, for communication over a transmission control protocol/internet protocol (TCP/IP) based network, specific information such as an IP address and TCP port must be provided in order for communication over the network to successfully occur. When applications are developed and subsequently used by users, specific knowledge of the network connections and network protocols is necessary for communication over a computer. Thus, application developers and/or users may be required to have expert knowledge of protocols and information specific to the computer network and network interface. Furthermore, in order to support a wide variety of network communication interfaces, an application must have appropriate libraries and corresponding programs in order communicate over each individual interface. Therefore, the requirement of network specific information, procedures, and network interface information in order to communicate over a computer network creates a burden for application developers and users. Unless the developers and users supply the proper, requisite network information corresponding to their particular network, they may be prohibited from being able to develop and use network-based applications. Obtaining such network information may be problematic because software developers and users often are not intimately familiar with networking protocols and procedures.